In a network of computing devices, Intrusion Detection System (IDS) sensors monitor network traffic (also referred to as “network packets”) and are used to detect suspicious or malicious traffic (e.g., viruses). Conventional IDS sensors monitor network traffic based on known vulnerabilities and anomaly detection. Rules that specify the vulnerabilities and anomalies are typically stored in a database. The rules typically specify a pattern that the IDS sensors try to identify. When a network packet is received at an IDS sensor, the IDS sensor compares the network packet to the rules. For example, a virus has a certain signature. A signature may be described as providing a description of how the virus acts and which code the virus executes. Then, the rule for the virus may specify the signature, along with information, such as which port of a computing device the virus usually attacks.
Conventional IDS sensors may include a large number of rules. In some cases, the IDS sensors identify a network packet as suspicious or malicious, even though the network packet may be “trusted” (i.e., routing of the network packet on the network may continue as the network packet has been determined not to be suspicious or malicious). Thus, false-positive alerts are created and sometimes hard to distinguish. A false-positive alert is one that turns out to be “false” (i.e., a network packet is identified as suspicious or malicious even though the network packet may be “trusted”).
Moreover, the IDS sensors may provide a large number of alerts that have to be sorted and manually inspected by highly trained security personnel. For example, IDS sensors may generate many (e.g., thousands of) alerts that need to be manually inspected before the alerts can be processed appropriately.
Thus, there is a need in the art for improved intrusion detection systems.